package main.java.aplicacion.usuarios.entidades;

import java.util.ArrayList;
import java.util.List;

import main.java.aplicacion.juegos.entidades.Juego;
import main.java.datatypes.juegos.JuegoVO;
import main.java.datatypes.usuarios.DesarrolladorVO;
import main.java.datatypes.usuarios.UsuarioVO;

public class Desarrollador extends Usuario{
	
	private String link;
	private List<Juego> juegosPublicados;
	
	public Desarrollador(UsuarioVO dtUsusario) {
		super(dtUsusario);
		this.link = ((DesarrolladorVO) dtUsusario).getLink();
		this.juegosPublicados = new ArrayList<Juego>();
	}

//	public Desarrollador(DesarrolladorVO dtDesarrolladorVO) {
//		super((UsuarioVO)dtDesarrolladorVO);
//		this.link = dtDesarrolladorVO.getLink();
//		this.juegosPublicados = toJuegos(dtDesarrolladorVO.getJuegosPublicados());
//	}
//	
	public DesarrolladorVO toDesarrolladorVO(){
		DesarrolladorVO dtUsuario = new DesarrolladorVO(this.getNick(), this.getMail(), this.getNombre(), this.getApellido(), this.getFechaNacimiento(),this.getEdad(),this.getImagen(),this.link,this.getContrasena());
		List<JuegoVO> juegosPub = new ArrayList<JuegoVO>();
		for(Juego j : juegosPublicados){
			juegosPub.add(j.getJuegoVO());
		}
		dtUsuario.setJuegosPublicados(juegosPub);
		return dtUsuario;
	}
	public UsuarioVO toUsuarioVO(){
		
		UsuarioVO dtUsuario = new DesarrolladorVO(this.getNick(), this.getMail(), this.getNombre(), this.getApellido(), this.getFechaNacimiento(),this.getEdad(),this.getImagen(),this.link,this.getContrasena());
		return dtUsuario;
	}
	
	private List<Juego> toJuegos(List<JuegoVO> dtjuegos){
		List<Juego> juegos = new ArrayList<Juego>();
		for(JuegoVO dtjuego: dtjuegos){
			Juego juego = new Juego(dtjuego);
			juegos.add(juego);			
		}
		return juegos;
	}
	public String getLink() {
		return link;
	}
	
	public void setLink(String link) {
		this.link = link;
	}
	public List<Juego> getJuegosPublicados() {
		return juegosPublicados;
	}
	public void setJuegosPublicados(List<Juego> juegosPublicados) {
		this.juegosPublicados = juegosPublicados;
	}
	
}
